package DataStructures.sort;

/**
 * @author ：ALi
 * @date ：Created in 2021/11/7 20:20
 * @description：选择排序
 * @modified By：
 * @version: $
 */
public class SelectSort {
    public static void main(String[] args) {
        int[] array = {1,2,5,4,3,7,6,9,8};
        SelectSort(array);
       for (int i = 0;i<array.length;i++){
           System.out.print(array[i] + " ");
       }

    }
    public static void SelectSort(int[] array){
        int temp;
        for (int i = 0;i<array.length-1;i++){
            int minIndex = i;//比当前array[i]小的元素的下标；
            for (int j = i+1;j<array.length;j++){
                if(array[i] > array[j]){
                    minIndex = j;//先记录下标，等一轮遍历完后，再交换，这里就是比冒泡排序快的地方；
                                // 少了很多次的交换
                }
            }
            if(minIndex != i){
                temp = array[minIndex];
                array[minIndex] = array[i];
                array[i] = temp;
            }
        }
    }

}